1. Field of the Invention
The present disclosure relates to the motion estimation methods designed for processing a sequence of images delivered, directly or indirectly, by a moving image sensor, in order to for example detect the motion of an entity equipped with this image sensor.
Accordingly, an embodiment of the present invention is particularly suitable for an optical mouse connected to a computer in information technology systems.
2. Description of the Related Art
Image processing techniques may, for example, detect movements of a mouse in order to re-transcribe them as cursor movements onto a computer screen. The movement of the optical mouse is generally detected on the basis of information acquired by a video sensor or another type of sensor which is mounted onto the optical mouse.
Such sensors deliver a digital signal in the form of a sequence of images acquired during the motion of the mouse. This digital signal is then processed in order to deduce the motion of the mouse from it.
Generally speaking, the mouse is moved over a suitable surface and the video sensor mounted on the mouse captures images of this surface during its movement. The movement of the mouse can then be reconstructed using the relative positions of objects within the successive captured images. Thus, starting from this movement, the movement that may be assigned to the cursor representing the movement of the mouse on the computer screen is deduced.
Some image processing operations of this type turn out to be complex. Indeed, they may require powerful calculations and consequently be costly in terms of time and/or calculation capacity, and in terms of power consumption which also poses problems of heat dissipation.
In order to facilitate the display of the optical mouse cursor, a motion estimation method is advantageously applied.
Such a method facilitates the movement of a block of pixels between two consecutive images to be estimated.
Certain methods of this type are used in another technical field which is that of video stream compression. Notably, a method described in the document ‘Complexity Comparison of fast block-matching estimation algorithms’, by Yilong Liu and Soontorn Oraintara, is known.
In the field of motion detection of an entity, these methods are based on an association of a motion vector with each of the images processed. Such a vector has a vertical component and horizontal component. It represents the movement of the mouse from one image to the next.
Thus, in such a context, the motion of the pixels of an image to be processed can be represented by a single motion vector.
This type of device may be subject to specific technical constraints, such as notably a time constraint. In this respect, the processing of such images is preferably performed within a very short time frame in order that the movement of the mouse be re-transcribed onto the screen of the computer in a manner that is virtually instantaneous for the user. Another very important constraint of this type of device is the production cost.
FIGS. 1A and 1B illustrate one definition of a motion vector. In FIG. 1A, a sequence of two images is shown: a first image 101 is followed by a second image 102. The detection of the mouse movement is based on the relative position of certain reference points comprised within the various captured images. The image 101 comprises a reference point in position 103 and the image 102 comprises the same reference point in position 104. Thus, the movement of the optical mouse is deduced using its position relative to this reference point.
In FIG. 1-B, the images 101 and 102 are overlaid such that the respective positions of the reference point coincide. The motion vector corresponding to the movement of the mouse in this context is represented by the arrow 105. Its components in the horizontal and vertical directions are named X and Y. Thus, the movement of the mouse between the image 101 and the image 102 can be represented in the following by the motion vector 105. The motion vector 105 can thus be associated with the image 101 allowing the position of the mouse within the following image 102 to be located.
The estimation of the associated motion of the mouse within a current image, in other words an image being processed, is generally based on motion vectors previously associated with preceding processed images within the sequence of images captured by the mouse. Then, starting from such motion vectors, candidate vectors are generated, in other words vectors that are capable of representing the movement of the mouse between two successive processed images. Subsequently, correlation calculations for the mouse position, examples of which are well know to those skilled in the art, are carried out with respect to these candidate vectors. The candidate vector for which the highest correlation is calculated is then selected. The latter is then associated with the current image.
The term ‘processed image’ refers to images with which a motion vector has been associated.
In such a context, generally speaking, a correlation calculation relating to a motion vector is based on a comparison of the pixel values of a block of pixels within a image with the values of pixels within the following image that are pointed to by the motion vector associated with the image starting from the pixels of the block of pixels from the image.
Consequently, the higher the quality of the digital images of the sequence of images, the more reliable are the results of this type of correlation calculation and the better the convergence of this type of device, whatever the motion estimation method used.
Digital images of high quality, but which quality depends on the image processing methods used, can be obtained. Accordingly, a bilinear pixel interpolation method is known. Such a method, based on relatively simple mathematical calculations, allows a reasonable quality of image to be obtained at an acceptable cost. However, a motion estimation method applied to such images may diverge under certain conditions. Notably, when the mouse moves slowly relative to the speed of the captured images.
Other image processing methods are known that allow higher quality images to be obtained, such as notably a bicubic interpolation method. By applying a motion estimation method to images obtained with a method of this type, the convergence of such methods is improved and certain distortion effects are prevented. Indeed, the correlation calculations such as those mentioned previously then deliver more reliable results, since they are applied to images of higher digital quality. However, such methods require involved calculations and are therefore costly.